package com.haoyeteng.sxbd.modular.business.model;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableLogic;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 差分账号表
 * </p>
 *
 * @author haoyeteng123
 * @since 2019-05-25
 */
@TableName("bus_account")
public class Account extends Model<Account> {

    private static final long serialVersionUID = 1L;

    /**
     * 账号Id
     */
    @TableId(value = "account_id", type = IdType.AUTO)
    private Integer accountId;
    /**
     * 账号
     */
    private String account;
    /**
     * 密码
     */
    private String password;
    /**
     * 用户Id
     */
    @TableField("user_id")
    private Integer userId;
    /**
     * 服务类型(购买的账号类型)RTD;RTK
     */
    @TableField("service_type")
    private String serviceType;
    /**
     * 开始时间(计费开始)
     */
    @TableField("start_time")
    private Date startTime;
    /**
     * 购买时长(单位月)
     */
    @TableField("pay_time")
    private Integer payTime;
    /**
     * 绑定状态(0否;1是)
     */
    @TableField("binding_state")
    private Integer bindingState;
    /**
     * 系统标识
     */
    @TableField("system_sign")
    private String systemSign;
    /**
     * 电子围栏Id
     */
    @TableField("ele_fence_id")
    private Integer eleFenceId;
    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
    /**
     * 当前状态
     */
    @TableField("the_state")
    private Integer theState;
    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;
    /**
     * 删除标记
     */
    @TableLogic
    private Integer flag;

    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;

    /**
     * 任务名(站点名)
     */
    @TableField("task_name")
    private String taskName;
    /**
     * 文件个数
     */
    @TableField("file_count")
    private Integer fileCount;

    /**
     * 转换方式
     */
    @TableField("transform_mode")
    private String transformMode;
    /**
     * 播发频率(单位s)
     */
    @TableField("broadcast_frequency")
    private Integer broadcastFrequency;

    /**
     * 文件Ids
     */
    @TableField("file_ids")
    private String fileIds;

    public Integer getAccountId() {
        return accountId;
    }

    public void setAccountId(Integer accountId) {
        this.accountId = accountId;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getServiceType() {
        return serviceType;
    }

    public void setServiceType(String serviceType) {
        this.serviceType = serviceType;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Integer getPayTime() {
        return payTime;
    }

    public void setPayTime(Integer payTime) {
        this.payTime = payTime;
    }

    public Integer getBindingState() {
        return bindingState;
    }

    public void setBindingState(Integer bindingState) {
        this.bindingState = bindingState;
    }

    public String getSystemSign() {
        return systemSign;
    }

    public void setSystemSign(String systemSign) {
        this.systemSign = systemSign;
    }

    public Integer getEleFenceId() {
        return eleFenceId;
    }

    public void setEleFenceId(Integer eleFenceId) {
        this.eleFenceId = eleFenceId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getTheState() {
        return theState;
    }

    public void setTheState(Integer theState) {
        this.theState = theState;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getTaskName() {
        return taskName;
    }

    public void setTaskName(String taskName) {
        this.taskName = taskName;
    }

    public Integer getFileCount() {
        return fileCount;
    }

    public void setFileCount(Integer fileCount) {
        this.fileCount = fileCount;
    }

    public String getTransformMode() {
        return transformMode;
    }

    public void setTransformMode(String transformMode) {
        this.transformMode = transformMode;
    }

    public Integer getBroadcastFrequency() {
        return broadcastFrequency;
    }

    public void setBroadcastFrequency(Integer broadcastFrequency) {
        this.broadcastFrequency = broadcastFrequency;
    }

    public String getFileIds() {
        return fileIds;
    }

    public void setFileIds(String fileIds) {
        this.fileIds = fileIds;
    }

    @Override
    protected Serializable pkVal() {
        return this.accountId;
    }

    @Override
    public String toString() {
        return "Account{" +
                "accountId=" + accountId +
                ", account='" + account + '\'' +
                ", password='" + password + '\'' +
                ", userId=" + userId +
                ", serviceType='" + serviceType + '\'' +
                ", startTime=" + startTime +
                ", payTime=" + payTime +
                ", bindingState=" + bindingState +
                ", systemSign='" + systemSign + '\'' +
                ", eleFenceId=" + eleFenceId +
                ", remark='" + remark + '\'' +
                ", theState=" + theState +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", flag=" + flag +
                ", endTime=" + endTime +
                ", taskName='" + taskName + '\'' +
                ", fileCount=" + fileCount +
                ", transformMode='" + transformMode + '\'' +
                ", broadcastFrequency=" + broadcastFrequency +
                ", fileIds='" + fileIds + '\'' +
                '}';
    }
}
